package com.wzw.expression.record.interceptors;

import com.wzw.expression.record.model.IRecordContext;

/**
 * @author Wangzhiwen
 */
public interface IRecordInterceptor {

    /**
     * 执行前
     *
     * @param context 上下文
     */
    default void before(IRecordContext context) {

    }

    /**
     * 执行后
     *
     * @param context 上下文
     */
    default void after(IRecordContext context) {

    }

    /**
     * 异常后
     *
     * @param context 上下文
     */
    default void exception(IRecordContext context) {

    }

    /**
     * 退出前
     *
     * @param context 上下文
     */
    default void eventual(IRecordContext context) {

    }
}
